package integration

import (
	"context"
	pb "gitee.com/micro-services/protocol/user/server"
)

func GenerateToken(ctx context.Context, r *pb.GenerateTokenReq) (*pb.GenerateTokenRsp, error) {
	rsp, err := GetProxyManger().AuthClientProxy.GenerateToken(ctx, r)
	if err != nil {
		return nil, err
	}
	return &pb.GenerateTokenRsp{
		Expiration: rsp.GetExpiration(),
		Token:      rsp.GetToken(),
	}, nil
}

func GetWxUserInfo(ctx context.Context, r *pb.GetWxUserInfoReq) (*pb.GetWxUserInfoRsp, error) {
	rsp, err := GetProxyManger().AuthClientProxy.GetWxUserInfo(ctx, r)
	if err != nil {
		return nil, err
	}

	return &pb.GetWxUserInfoRsp{
		OpenId:     rsp.GetOpenId(),
		SessionKey: rsp.GetSessionKey(),
		UnionId:    rsp.GetUnionId(),
	}, nil
}

func GetWxToke(ctx context.Context, r *pb.GetWxTokenReq) (*pb.GetWxTokenRsp, error) {
	rsp, err := GetProxyManger().AuthClientProxy.GetWxToken(ctx, r)
	if err != nil {
		return nil, err
	}

	return &pb.GetWxTokenRsp{
		Token: rsp.GetToken(),
	}, nil
}
